package com.taxshare.purchaser.view.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.util.List;

/**
 * @author YANG
 * @date 2021/4/2
 * @Description:发票采集请求
 */
@Data
@ApiModel("增值税发票采集请求参数")
public class InvoiceCollectionDTO {

    @ApiModelProperty("发票类型")
    private String invoiceType;

    @ApiModelProperty("发票代码")
    private String invoiceCode;

    @ApiModelProperty("发票号码")
    private String invoiceNo;

    @ApiModelProperty("开票日期起")
    private String invoiceDateStart;

    @ApiModelProperty("开票日期止")
    private String invoiceDateEnd;

    @ApiModelProperty("发票状态")
    private String invoiceState;

    @ApiModelProperty("发票ID")
    private String uuid;

    @ApiModelProperty("标志 1 发票采集 2 未报销 3 已报销")
    private String selectFlag;

    @ApiModelProperty("标志 1 责任人设置 2 记账科目 3 授权人")
    private String updateFlag;

    @ApiModelProperty("发票ID集合")
    private List<String> uuidList;

    @ApiModelProperty("报销状态 1 未报销 2 已报销")
    private String reimbursementStatus;

    @ApiModelProperty("责任人")
    private String personLiable;

    @ApiModelProperty("责任人ID")
    private String personLiableId;

    @ApiModelProperty("记账科目")
    private String bookingAccount;

    @ApiModelProperty("被授权人")
    private List<String> licenseeList;

    @ApiModelProperty("被授权人ID集合")
    private List<String> licenseeIdList;

    @ApiModelProperty("查验状态")
    private String checkStatus;

    @ApiModelProperty("录入日期起")
    private String createTimeStartStr;

    @ApiModelProperty("录入日期止")
    private String createTimeEndStr;

    @ApiModelProperty("申请日期")
    private String applicationDate;

    @ApiModelProperty("申请事由")
    private String applicationReasons;

    @ApiModelProperty("票据类型")
    private String ticketTypes;

    @ApiModelProperty("被授权人ID")
    private String licenseeId;

    @NotBlank(message = "PUR_006")
    @ApiModelProperty("采集标志（0 私人采集 1 对公采集）")
    private String mark;
}
